package snowflake

import (
	"time"
	sf "github.com/bwmarrin/snowflake"
)

var node *sf.Node

// 初始化snowflake节点
func Init(startTime string, machineID int64) (err error) {
	var st time.Time
	st, err = time.Parse("2006-01-02", startTime)
	if err != nil {
		return
	}
	sf.Epoch = st.UnixNano() / 1000000 // 设置时间戳起点
	node, err = sf.NewNode(machineID)   // 创建节点
	return
}

// 生成全局唯一ID
func GenID() int64 {
	return node.Generate().Int64() // 生成并返回ID
}
